package com.cartitem.dao;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.cartitem.bean.CartItem;

public class CartItemDao extends HibernateDaoSupport implements ICartItemDao {

	@Override
	public List<CartItem> getAllCart() {
		List<CartItem> items = this.getHibernateTemplate()
				.find("from CartItem");
		return items;
	}

	@Override
	public List<CartItem> getCartByUsername(String username) {
		List<CartItem> items = this.getHibernateTemplate().find(
				"from CartItem where cart_id = ?", username);
		return items;
	}

	@Override
	public CartItem getCartByUsernameAndBookid(String username, String bookid) {
		String[] params = { username, bookid };
		String query = "from CartItem where cart_id = ? and book_id = ?";
		List<CartItem> items = this.getHibernateTemplate().find(query, params);
		if (items == null || items.size() == 0) {
			return null;
		} else {
			System.out.println("size: " + items.size());
			return items.get(0);
		}
	}

	@Override
	public void addCartItem(CartItem cartItem) {
		this.getHibernateTemplate().save(cartItem);
	}

	@Override
	public void updateCartItem(CartItem cartItem) {
		this.getHibernateTemplate().update(cartItem);
	}

	@Override
	public void deleteCartItem(CartItem cartItem) {
		this.getHibernateTemplate().delete(cartItem);
	}

}
